home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
System Booster
/
System Booster.iso
/
SYS
/
s
/
smconfig
< prev
next >
Wrap
Text File
|
1996-09-26
|
4KB
|
155 lines
/*
* Config ShadowMaster via it's Rexx port...
*
* Copyright 1991, Mike Meyer
* All Rights Reserved
*
* See the file "ShadowMaster:Distribution" for information on distribution.
*/
options results
address SHADOWMASTER
/* Make sure we got tools we need to do the job */
if ~show('Libraries', 'rexxarplib.library') then
if ~addlib('rexxarplib.library', 0, -30) then do
say "Can't find rexxarplib.library"
exit 10
end
if ~show('Libraries', 'rexxsupport.library') then
if ~addlib('rexxsupport.library', 0, -30) then do
say "Can't find rexxsupport.library"
exit 10
end
/* Make sure there's a running ShadowMaster */
if ~show('Ports', 'SHADOWMASTER') then do
say "Can't configure a ShadowMaster that isn't running"
exit 10
end
/* If we're not already running, set up my host and port */
if showlist('Ports', SMCONFIGPORT) | showlist('Ports', SMCONFIGHOST) then exit
address AREXX '"call createhost SMCONFIGHOST, SMCONFIGPORT"'
call openport SMCONFIGPORT
address command "waitforport SMCONFIGHOST"
/* Make sure we clean up if there's a problem (old versoin of RexxArpLib */
signal on syntax
signal on error
/* Create the world */
call OpenWindow SMCONFIGHOST, 0, 11, 350, 60, ,
'CLOSEWINDOW+GADGETUP', 'WINDOWCLOSE+WINDOWDRAG+WINDOWDEPTH', ,
'Screen Saver Configuration'
/* The String Gadgets */
Call SetAPen SMCONFIGHOST, 1
Call Move SMCONFIGHOST, 10, 27
Call Text SMCONFIGHOST, "Command"
Call AddGadget SMCONFIGHOST, 75, 20, "COMMAND", "", '%d%1%g', 255, RIDGEBORDER
Call Move SMCONFIGHOST, 10, 45
Call Text SMCONFIGHOST, "Seconds"
Call AddGadget SMCONFIGHOST, 75, 38, "SECONDS", "", '%d%1%g', 45, RIDGEBORDER
Call AddGadget SMCONFIGHOST, 130, 37, "CONFIG", "Config", '%d'
Call AddGadget SMCONFIGHOST, 190, 37, "BLANK", "Blank", '%d'
Call AddGadget SMCONFIGHOST, 242, 37, "QUIT", "Quit", '%d'
Call AddGadget SMCONFIGHOST, 300, 37, "USE", "Use", '%d'
/* Get the state of the world, and put it in old */
call saverstate
old.command = new.command
old.seconds = new.seconds
old.blanker = new.blanker
old.args = new.args
do forever
call waitpkt SMCONFIGPORT
do forever
pkt = getpkt(SMCONFIGPORT)
if c2d(pkt) = 0 then leave
gadget = getarg(pkt, 0)
select
when gadget = "CLOSEWINDOW" then signal cancel
when gadget = "BLANK" then 'blank'
when gadget = "USE" then do
call windowstate
signal use
end
when gadget = "QUIT" then do
'quit'
signal use
end
when gadget = "CONFIG" then do
/* Now nonfunctional...
call windowstate
address command new.blanker'-config'
call saverstate
*/ end
when gadget = "COMMAND" then do
new.command = getarg(pkt, 1)
'command' new.command
call fixcommand
end
when gadget = "SECONDS" then do
new.seconds = getarg(pkt, 1)
'seconds' new.seconds
end
otherwise nop
end
end
end
exit
cancel:
'command' old.command
'seconds' old.seconds
error:
syntax:
use:
call closewindow SMCONFIGHOST
call closeport SMCONFIGPORT
exit
/* saverstate - makes the world confirm to what the saver thinks it is */
saverstate: procedure expose new.
'command'
new.command = result
call fixcommand
call RemoveGadget SMCONFIGHOST, "COMMAND"
call AddGadget SMCONFIGHOST, 75, 20, "COMMAND", new.command, '%d%1%g', 255, RIDGEBORDER
'seconds'
new.seconds = result
call RemoveGadget SMCONFIGHOST, "SECONDS"
call AddGadget SMCONFIGHOST, 75, 38, "SECONDS", new.seconds, '%d%1%g', 45, RIDGEBORDER
return
/* windowstate - makes the world confirm to whats in the window. */
windowstate: procedure expose new.
/* Command gadget */
call ReadGadget SMCONFIGHOST, "COMMAND"
call waitpkt SMCONFIGPORT
pkt = getpkt(SMCONFIGPORT)
if getarg(pkt, 0) ~= "COMMAND" then exit 20
new.command = getarg(pkt, 1)
'command' new.command
call fixcommand
/* Seconds gadget */
call ReadGadget SMCONFIGHOST, "SECONDS"
call waitpkt SMCONFIGPORT
pkt = getpkt(SMCONFIGPORT)
if getarg(pkt, 0) ~= "SECONDS" then exit 20
new.seconds = getarg(pkt, 1)
'seconds' new.seconds
return
/* fixcommand - given new.command, set new.blanker and new.args */
fixcommand: procedure expose new.
parse value new.command with new.blanker new.args
new.args = strip(new.args)
if new.command == "" then new.blanker = "ShadowMaster:savers/"